package com.mdd.admin.validate;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import javax.validation.constraints.*;

@Data
@ApiModel("快点订单记录（物流）创建参数")
public class ExpressCreateValidate implements Serializable {

    private static final long serialVersionUID = 1L;

    @NotNull(message = "userId参数缺失")
    @ApiModelProperty(value = "用户ID")
    private Integer userId;

    @NotNull(message = "expressId参数缺失")
    @ApiModelProperty(value = "物流公司")
    private Integer expressId;

    @NotNull(message = "expressNo参数缺失")
    @ApiModelProperty(value = "物流单号")
    private String expressNo;

    @NotNull(message = "expressSource参数缺失")
    @ApiModelProperty(value = "订单来源: [1=微信小程序]")
    private Integer expressSource;

    @NotNull(message = "expressStatus参数缺失")
    @ApiModelProperty(value = "订单状态: [1=待付款, 2=待开始, 3=进行中, 4=已完成, 5=已取消]")
    private Integer expressStatus;

    @NotNull(message = "payIs参数缺失")
    @ApiModelProperty(value = "是否支付: [0=未支付, 1=已支付]")
    private Integer payIs;

    @NotNull(message = "payWay参数缺失")
    @ApiModelProperty(value = "支付方式: [0=未知, 1=余额, 2=微信, 3=支付宝]")
    private Integer payWay;

    @NotNull(message = "payTime参数缺失")
    @ApiModelProperty(value = "支付时间")
    private Integer payTime;

    @NotNull(message = "transactionId参数缺失")
    @ApiModelProperty(value = "支付流水")
    private String transactionId;

    @NotNull(message = "address参数缺失")
    @ApiModelProperty(value = "收货地址")
    private String address;

    @NotNull(message = "addressContact参数缺失")
    @ApiModelProperty(value = "联系人名")
    private String addressContact;

    @NotNull(message = "addressMobile参数缺失")
    @ApiModelProperty(value = "联系电话")
    private String addressMobile;

    @NotNull(message = "addressContent参数缺失")
    @ApiModelProperty(value = "联系地址")
    private String addressContent;

    @NotNull(message = "couponListId参数缺失")
    @ApiModelProperty(value = "优惠券领取id")
    private Integer couponListId;

    @NotNull(message = "money参数缺失")
    @ApiModelProperty(value = "总的金额")
    private BigDecimal money;

    @NotNull(message = "goodsMoney参数缺失")
    @ApiModelProperty(value = "商品金额")
    private BigDecimal goodsMoney;

    @NotNull(message = "expressMoney参数缺失")
    @ApiModelProperty(value = "运费金额")
    private BigDecimal expressMoney;

    @NotNull(message = "couponMoney参数缺失")
    @ApiModelProperty(value = "优惠券金额")
    private BigDecimal couponMoney;

    @NotNull(message = "needPayMoney参数缺失")
    @ApiModelProperty(value = "应付金额")
    private BigDecimal needPayMoney;

    @NotNull(message = "payMoney参数缺失")
    @ApiModelProperty(value = "实付金额")
    private BigDecimal payMoney;

    @NotNull(message = "goodsNum参数缺失")
    @ApiModelProperty(value = "商品数")
    private Integer goodsNum;

    @NotNull(message = "deliveryType参数缺失")
    @ApiModelProperty(value = "配送方式: [1=快递]")
    private Integer deliveryType;

    @NotNull(message = "expressIs参数缺失")
    @ApiModelProperty(value = "是否发货: [0=未发货, 1=已发货]")
    private Integer expressIs;

    @NotNull(message = "expressTime参数缺失")
    @ApiModelProperty(value = "发货时间")
    private Integer expressTime;

    @NotNull(message = "confirmTime参数缺失")
    @ApiModelProperty(value = "收货时间")
    private Integer confirmTime;

    @NotNull(message = "cancelTime参数缺失")
    @ApiModelProperty(value = "取消时间")
    private Integer cancelTime;

    @NotNull(message = "afterDeadline参数缺失")
    @ApiModelProperty(value = "售后时间")
    private Integer afterDeadline;

    @NotNull(message = "userRemark参数缺失")
    @ApiModelProperty(value = "用户备注")
    private String userRemark;

    @NotNull(message = "shopRemark参数缺失")
    @ApiModelProperty(value = "商家备注")
    private String shopRemark;

}
